﻿using System;
using System.Collections.Generic;
using SharpSqlAnalyzer.nodes.hive;
using SharpSqlAnalyzer.nodes.mysql;
using SharpSqlAnalyzer.stmt;
using SharpSqlAnalyzer.stmt.hive;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x02000353 RID: 851
	public class TTable : TNodeWithAliasClause
	{
		// Token: 0x17000751 RID: 1873
		// (get) Token: 0x06002315 RID: 8981 RVA: 0x00336E7F File Offset: 0x0033507F
		// (set) Token: 0x06002316 RID: 8982 RVA: 0x00336E87 File Offset: 0x00335087
		public List<TIndexHint> IndexHintList
		{
			get
			{
				return this._indexHintList;
			}
			set
			{
				this._indexHintList = value;
			}
		}

		// Token: 0x17000752 RID: 1874
		// (get) Token: 0x06002318 RID: 8984 RVA: 0x00336E99 File Offset: 0x00335099
		// (set) Token: 0x06002317 RID: 8983 RVA: 0x00336E90 File Offset: 0x00335090
		public virtual TPxGranule PxGranule
		{
			get
			{
				return this.pxGranule;
			}
			set
			{
				this.pxGranule = value;
			}
		}

		// Token: 0x17000753 RID: 1875
		// (get) Token: 0x0600231A RID: 8986 RVA: 0x00336EAA File Offset: 0x003350AA
		// (set) Token: 0x06002319 RID: 8985 RVA: 0x00336EA1 File Offset: 0x003350A1
		public virtual TFlashback Flashback
		{
			get
			{
				return this.flashback;
			}
			set
			{
				this.flashback = value;
			}
		}

		// Token: 0x17000754 RID: 1876
		// (get) Token: 0x0600231B RID: 8987 RVA: 0x00336EB2 File Offset: 0x003350B2
		// (set) Token: 0x0600231C RID: 8988 RVA: 0x00336EBA File Offset: 0x003350BA
		public virtual bool LateralKeyword
		{
			get
			{
				return this._lateralKeyword;
			}
			set
			{
				this._lateralKeyword = value;
			}
		}

		// Token: 0x17000755 RID: 1877
		// (get) Token: 0x0600231E RID: 8990 RVA: 0x00336ECC File Offset: 0x003350CC
		// (set) Token: 0x0600231D RID: 8989 RVA: 0x00336EC3 File Offset: 0x003350C3
		public virtual bool TableKeyword
		{
			get
			{
				return this._tableKeyword;
			}
			set
			{
				this._tableKeyword = value;
			}
		}

		// Token: 0x17000756 RID: 1878
		// (get) Token: 0x06002320 RID: 8992 RVA: 0x00336EDD File Offset: 0x003350DD
		// (set) Token: 0x0600231F RID: 8991 RVA: 0x00336ED4 File Offset: 0x003350D4
		public virtual bool OnlyKeyword
		{
			get
			{
				return this._onlyKeyword;
			}
			set
			{
				this._onlyKeyword = value;
			}
		}

		// Token: 0x17000757 RID: 1879
		// (get) Token: 0x06002322 RID: 8994 RVA: 0x00336EEE File Offset: 0x003350EE
		// (set) Token: 0x06002321 RID: 8993 RVA: 0x00336EE5 File Offset: 0x003350E5
		public virtual int ParenthesisCount
		{
			get
			{
				return this.parenthesisCount;
			}
			set
			{
				this.parenthesisCount = value;
			}
		}

		// Token: 0x17000758 RID: 1880
		// (get) Token: 0x06002324 RID: 8996 RVA: 0x00336EFF File Offset: 0x003350FF
		// (set) Token: 0x06002323 RID: 8995 RVA: 0x00336EF6 File Offset: 0x003350F6
		public virtual int ParenthesisAfterAliasCount
		{
			get
			{
				return this.parenthesisAfterAliasCount;
			}
			set
			{
				this.parenthesisAfterAliasCount = value;
			}
		}

		// Token: 0x17000759 RID: 1881
		// (get) Token: 0x06002326 RID: 8998 RVA: 0x00336F10 File Offset: 0x00335110
		// (set) Token: 0x06002325 RID: 8997 RVA: 0x00336F07 File Offset: 0x00335107
		public virtual TMergeSqlStatement OutputMerge
		{
			get
			{
				return this.outputMerge;
			}
			set
			{
				this.outputMerge = value;
			}
		}

		// Token: 0x1700075A RID: 1882
		// (get) Token: 0x06002328 RID: 9000 RVA: 0x00336F21 File Offset: 0x00335121
		// (set) Token: 0x06002327 RID: 8999 RVA: 0x00336F18 File Offset: 0x00335118
		public virtual TPivotedTable PivotedTable
		{
			get
			{
				return this.pivotedTable;
			}
			set
			{
				this.pivotedTable = value;
			}
		}

		// Token: 0x1700075B RID: 1883
		// (get) Token: 0x0600232A RID: 9002 RVA: 0x00336F32 File Offset: 0x00335132
		// (set) Token: 0x06002329 RID: 9001 RVA: 0x00336F29 File Offset: 0x00335129
		public virtual ETableEffectType EffectType
		{
			get
			{
				return this.effectType;
			}
			set
			{
				this.effectType = value;
			}
		}

		// Token: 0x0600232B RID: 9003 RVA: 0x00336F3A File Offset: 0x0033513A
		public virtual void setLinkTable(TTable linkTable)
		{
			this.linkTable = linkTable;
		}

		// Token: 0x1700075C RID: 1884
		// (get) Token: 0x0600232C RID: 9004 RVA: 0x00336F43 File Offset: 0x00335143
		public virtual TTable LinkTable
		{
			get
			{
				return this.linkTable;
			}
		}

		// Token: 0x0600232D RID: 9005 RVA: 0x00336F4B File Offset: 0x0033514B
		public virtual bool isLinkTable()
		{
			return this.isLinkTable_Renamed;
		}

		// Token: 0x0600232E RID: 9006 RVA: 0x00336F53 File Offset: 0x00335153
		public virtual void setLinkTable(bool isLinkTable)
		{
			this.isLinkTable_Renamed = isLinkTable;
		}

		// Token: 0x1700075D RID: 1885
		// (get) Token: 0x0600232F RID: 9007 RVA: 0x00336F5C File Offset: 0x0033515C
		public virtual string AliasName
		{
			get
			{
				if (this.AliasClause == null)
				{
					return "";
				}
				return this.AliasClause.AliasName.ToString();
			}
		}

		// Token: 0x06002330 RID: 9008 RVA: 0x00336F7C File Offset: 0x0033517C
		public virtual bool equalByName(string pTableName)
		{
			if (this.AliasClause != null)
			{
				return this.AliasClause.AliasName.ToString().Equals(pTableName, StringComparison.CurrentCultureIgnoreCase);
			}
			return this.Name.Equals(pTableName, StringComparison.CurrentCultureIgnoreCase);
		}

		// Token: 0x1700075E RID: 1886
		// (get) Token: 0x06002332 RID: 9010 RVA: 0x00336FB4 File Offset: 0x003351B4
		// (set) Token: 0x06002331 RID: 9009 RVA: 0x00336FAB File Offset: 0x003351AB
		public virtual List<THiveKeyValueProperty> TableProperties
		{
			get
			{
				return this.tableProperties;
			}
			set
			{
				this.tableProperties = value;
			}
		}

		// Token: 0x1700075F RID: 1887
		// (get) Token: 0x06002334 RID: 9012 RVA: 0x00336FC5 File Offset: 0x003351C5
		// (set) Token: 0x06002333 RID: 9011 RVA: 0x00336FBC File Offset: 0x003351BC
		public virtual List<THiveLateralView> LateralViewList
		{
			get
			{
				return this.lateralViewList;
			}
			set
			{
				this.lateralViewList = value;
			}
		}

		// Token: 0x17000760 RID: 1888
		// (get) Token: 0x06002336 RID: 9014 RVA: 0x00336FD6 File Offset: 0x003351D6
		// (set) Token: 0x06002335 RID: 9013 RVA: 0x00336FCD File Offset: 0x003351CD
		public virtual TTableSample TableSample
		{
			get
			{
				return this.tableSample;
			}
			set
			{
				this.tableSample = value;
			}
		}

		// Token: 0x17000761 RID: 1889
		// (get) Token: 0x06002338 RID: 9016 RVA: 0x00336FE7 File Offset: 0x003351E7
		// (set) Token: 0x06002337 RID: 9015 RVA: 0x00336FDE File Offset: 0x003351DE
		public virtual TPartitionExtensionClause PartitionExtensionClause
		{
			get
			{
				return this.partitionExtensionClause;
			}
			set
			{
				this.partitionExtensionClause = value;
			}
		}

		// Token: 0x17000762 RID: 1890
		// (get) Token: 0x0600233A RID: 9018 RVA: 0x00336FF8 File Offset: 0x003351F8
		// (set) Token: 0x06002339 RID: 9017 RVA: 0x00336FEF File Offset: 0x003351EF
		public virtual TInformixOuterClause OuterClause
		{
			get
			{
				return this.outerClause;
			}
			set
			{
				this.outerClause = value;
			}
		}

		// Token: 0x17000763 RID: 1891
		// (get) Token: 0x0600233C RID: 9020 RVA: 0x00337009 File Offset: 0x00335209
		// (set) Token: 0x0600233B RID: 9019 RVA: 0x00337000 File Offset: 0x00335200
		public virtual TFromTableList FromTableList
		{
			get
			{
				return this.fromTableList;
			}
			set
			{
				this.fromTableList = value;
			}
		}

		// Token: 0x17000764 RID: 1892
		// (get) Token: 0x0600233D RID: 9021 RVA: 0x00337011 File Offset: 0x00335211
		// (set) Token: 0x0600233E RID: 9022 RVA: 0x00337019 File Offset: 0x00335219
		public TJsonTable JsonTable
		{
			get
			{
				return this._jsonTable;
			}
			set
			{
				this._jsonTable = value;
			}
		}

		// Token: 0x17000765 RID: 1893
		// (get) Token: 0x0600233F RID: 9023 RVA: 0x00337022 File Offset: 0x00335222
		// (set) Token: 0x06002340 RID: 9024 RVA: 0x0033702A File Offset: 0x0033522A
		public virtual TXmlTable XmlTable
		{
			get
			{
				return this.xmlTable;
			}
			set
			{
				this.xmlTable = value;
			}
		}

		// Token: 0x17000766 RID: 1894
		// (get) Token: 0x06002342 RID: 9026 RVA: 0x0033703C File Offset: 0x0033523C
		// (set) Token: 0x06002341 RID: 9025 RVA: 0x00337033 File Offset: 0x00335233
		public virtual List<TTableHint> TableHintList
		{
			get
			{
				return this.tableHintList;
			}
			set
			{
				this.tableHintList = value;
			}
		}

		// Token: 0x17000767 RID: 1895
		// (get) Token: 0x06002343 RID: 9027 RVA: 0x00337044 File Offset: 0x00335244
		// (set) Token: 0x06002344 RID: 9028 RVA: 0x0033704C File Offset: 0x0033524C
		public virtual TOpenQuery Openquery
		{
			get
			{
				return this.openquery;
			}
			set
			{
				this.openquery = value;
			}
		}

		// Token: 0x17000768 RID: 1896
		// (get) Token: 0x06002345 RID: 9029 RVA: 0x00337055 File Offset: 0x00335255
		// (set) Token: 0x06002346 RID: 9030 RVA: 0x0033705D File Offset: 0x0033525D
		public virtual TSelectSqlStatement Subquery
		{
			get
			{
				return this._subquery;
			}
			set
			{
				this._subquery = value;
			}
		}

		// Token: 0x17000769 RID: 1897
		// (get) Token: 0x06002348 RID: 9032 RVA: 0x0033706F File Offset: 0x0033526F
		// (set) Token: 0x06002347 RID: 9031 RVA: 0x00337066 File Offset: 0x00335266
		public virtual TOpenDatasource OpenDatasource
		{
			get
			{
				return this.openDatasource;
			}
			set
			{
				this.openDatasource = value;
			}
		}

		// Token: 0x1700076A RID: 1898
		// (get) Token: 0x0600234A RID: 9034 RVA: 0x00337080 File Offset: 0x00335280
		// (set) Token: 0x06002349 RID: 9033 RVA: 0x00337077 File Offset: 0x00335277
		public virtual TOpenXML OpenXML
		{
			get
			{
				return this.openXML;
			}
			set
			{
				this.openXML = value;
			}
		}

		// Token: 0x1700076B RID: 1899
		// (get) Token: 0x0600234B RID: 9035 RVA: 0x00337088 File Offset: 0x00335288
		// (set) Token: 0x0600234C RID: 9036 RVA: 0x00337090 File Offset: 0x00335290
		public virtual TOpenRowSet OpenRowSet
		{
			get
			{
				return this.openRowSet;
			}
			set
			{
				this.openRowSet = value;
			}
		}

		// Token: 0x1700076C RID: 1900
		// (get) Token: 0x0600234D RID: 9037 RVA: 0x00337099 File Offset: 0x00335299
		// (set) Token: 0x0600234E RID: 9038 RVA: 0x003370A1 File Offset: 0x003352A1
		public virtual TContainsTable ContainsTable
		{
			get
			{
				return this.containsTable;
			}
			set
			{
				this.containsTable = value;
			}
		}

		// Token: 0x1700076D RID: 1901
		// (get) Token: 0x0600234F RID: 9039 RVA: 0x003370AA File Offset: 0x003352AA
		// (set) Token: 0x06002350 RID: 9040 RVA: 0x003370B2 File Offset: 0x003352B2
		public virtual TFunctionCall FuncCall
		{
			get
			{
				return this.funcCall;
			}
			set
			{
				this.funcCall = value;
			}
		}

		// Token: 0x1700076E RID: 1902
		// (get) Token: 0x06002351 RID: 9041 RVA: 0x003370BB File Offset: 0x003352BB
		// (set) Token: 0x06002352 RID: 9042 RVA: 0x003370C3 File Offset: 0x003352C3
		public virtual TMultiTargetList RowList
		{
			get
			{
				return this.rowList;
			}
			set
			{
				this.rowList = value;
			}
		}

		// Token: 0x1700076F RID: 1903
		// (get) Token: 0x06002353 RID: 9043 RVA: 0x003370CC File Offset: 0x003352CC
		public virtual bool BaseTable
		{
			get
			{
				bool flag = this.tableType == ETableSource.objectname;
				if (flag && this.CTEName)
				{
					flag = false;
				}
				if (flag && this.FullName.StartsWith("@", StringComparison.Ordinal))
				{
					flag = false;
				}
				return flag;
			}
		}

		// Token: 0x17000770 RID: 1904
		// (get) Token: 0x06002355 RID: 9045 RVA: 0x00337112 File Offset: 0x00335312
		// (set) Token: 0x06002354 RID: 9044 RVA: 0x00337109 File Offset: 0x00335309
		public virtual TObjectNameList CteColomnReferences
		{
			get
			{
				return this.cteColomnReferences;
			}
			set
			{
				this.cteColomnReferences = value;
			}
		}

		// Token: 0x17000771 RID: 1905
		// (get) Token: 0x06002357 RID: 9047 RVA: 0x00337123 File Offset: 0x00335323
		// (set) Token: 0x06002356 RID: 9046 RVA: 0x0033711A File Offset: 0x0033531A
		public virtual TObjectNameList ObjectNameReferences
		{
			get
			{
				if (this.objectNameReferences == null)
				{
					this.objectNameReferences = new TObjectNameList();
					this.objectNameReferences.ObjectType = 1;
				}
				return this.objectNameReferences;
			}
			set
			{
				this.objectNameReferences = value;
			}
		}

		// Token: 0x17000772 RID: 1906
		// (get) Token: 0x06002359 RID: 9049 RVA: 0x00337153 File Offset: 0x00335353
		// (set) Token: 0x06002358 RID: 9048 RVA: 0x0033714A File Offset: 0x0033534A
		public virtual TCTE CTE
		{
			get
			{
				return this.CTE_Renamed;
			}
			set
			{
				this.CTE_Renamed = value;
			}
		}

		// Token: 0x17000773 RID: 1907
		// (get) Token: 0x0600235A RID: 9050 RVA: 0x0033715B File Offset: 0x0033535B
		// (set) Token: 0x0600235B RID: 9051 RVA: 0x00337163 File Offset: 0x00335363
		public virtual bool CTEName
		{
			get
			{
				return this.isCTEName;
			}
			set
			{
				this.isCTEName = value;
			}
		}

		// Token: 0x17000774 RID: 1908
		// (get) Token: 0x0600235D RID: 9053 RVA: 0x00337175 File Offset: 0x00335375
		// (set) Token: 0x0600235C RID: 9052 RVA: 0x0033716C File Offset: 0x0033536C
		public virtual THiveFromQuery HiveFromQuery
		{
			get
			{
				return this.hiveFromQuery;
			}
			set
			{
				this.hiveFromQuery = value;
			}
		}

		// Token: 0x17000775 RID: 1909
		// (get) Token: 0x0600235E RID: 9054 RVA: 0x0033717D File Offset: 0x0033537D
		// (set) Token: 0x0600235F RID: 9055 RVA: 0x00337185 File Offset: 0x00335385
		public virtual TExpression TableExpr
		{
			get
			{
				return this.tableExpr;
			}
			set
			{
				this.tableExpr = value;
			}
		}

		// Token: 0x17000776 RID: 1910
		// (get) Token: 0x06002361 RID: 9057 RVA: 0x00337197 File Offset: 0x00335397
		// (set) Token: 0x06002360 RID: 9056 RVA: 0x0033718E File Offset: 0x0033538E
		public virtual ETableSource TableType
		{
			get
			{
				return this.tableType;
			}
			set
			{
				this.tableType = value;
			}
		}

		// Token: 0x17000777 RID: 1911
		// (get) Token: 0x06002363 RID: 9059 RVA: 0x003371D8 File Offset: 0x003353D8
		// (set) Token: 0x06002362 RID: 9058 RVA: 0x0033719F File Offset: 0x0033539F
		public virtual TObjectName TableName
		{
			get
			{
				TObjectName result = this._tableName;
				if (this.tableType == ETableSource.tableExpr)
				{
					if (this.tableExpr.ExpressionType == EExpressionType.function_t)
					{
						result = this.tableExpr.FunctionCall.FunctionName;
					}
				}
				else if (this.tableType == ETableSource.function)
				{
					result = this.FuncCall.FunctionName;
				}
				else if (this.tableType == ETableSource.openrowset)
				{
					result = new TObjectName(new TSourceToken("openrowset"), EDbObjectType.table);
				}
				else if (this.tableType == ETableSource.rowList)
				{
					result = new TObjectName(new TSourceToken("rowList"), EDbObjectType.table);
				}
				else if (this.tableType == ETableSource.subquery)
				{
					result = new TObjectName(new TSourceToken("subquery"), EDbObjectType.table);
				}
				else if (this.tableType == ETableSource.containsTable)
				{
					if (this.containsTable.Type == 1)
					{
						result = new TObjectName(new TSourceToken("containstable"), EDbObjectType.table);
					}
					else
					{
						result = new TObjectName(new TSourceToken("freetexttable"), EDbObjectType.table);
					}
				}
				return result;
			}
			set
			{
				this._tableName = value;
				this.tableType = ETableSource.objectname;
				if (base.startToken == null)
				{
					base.startToken = value.startToken;
				}
				if (base.endToken == null)
				{
					base.endToken = value.endToken;
				}
			}
		}

		// Token: 0x06002364 RID: 9060 RVA: 0x003372CD File Offset: 0x003354CD
		public TTable(TObjectName pobjectname)
		{
			this._tableName = pobjectname;
		}

		// Token: 0x06002365 RID: 9061 RVA: 0x003372E7 File Offset: 0x003354E7
		public TTable()
		{
			this._tableName = null;
		}

		// Token: 0x17000778 RID: 1912
		// (get) Token: 0x06002366 RID: 9062 RVA: 0x00337301 File Offset: 0x00335501
		public virtual string Name
		{
			get
			{
				if (this._tableName != null)
				{
					return this._tableName.ObjectString;
				}
				return "";
			}
		}

		// Token: 0x17000779 RID: 1913
		// (get) Token: 0x06002367 RID: 9063 RVA: 0x0033731C File Offset: 0x0033551C
		public virtual string PrefixServer
		{
			get
			{
				if (this._tableName != null)
				{
					return this._tableName.ServerString;
				}
				return "";
			}
		}

		// Token: 0x1700077A RID: 1914
		// (get) Token: 0x06002368 RID: 9064 RVA: 0x00337337 File Offset: 0x00335537
		public virtual string PrefixDatabase
		{
			get
			{
				if (this._tableName != null)
				{
					return this._tableName.DatabaseString;
				}
				return "";
			}
		}

		// Token: 0x1700077B RID: 1915
		// (get) Token: 0x06002369 RID: 9065 RVA: 0x00337352 File Offset: 0x00335552
		public virtual string PrefixSchema
		{
			get
			{
				if (this._tableName != null)
				{
					return this._tableName.SchemaString;
				}
				return "";
			}
		}

		// Token: 0x1700077C RID: 1916
		// (get) Token: 0x0600236A RID: 9066 RVA: 0x0033736D File Offset: 0x0033556D
		public virtual bool IncludeColumnAlias
		{
			get
			{
				return false;
			}
		}

		// Token: 0x0600236B RID: 9067 RVA: 0x00337370 File Offset: 0x00335570
		public virtual bool searchColumnInAlias(TObjectName pColumn)
		{
			return this.AliasClause != null && this.AliasClause.searchColumn(pColumn);
		}

		// Token: 0x1700077D RID: 1917
		// (get) Token: 0x0600236C RID: 9068 RVA: 0x00337388 File Offset: 0x00335588
		// (set) Token: 0x0600236D RID: 9069 RVA: 0x003373AF File Offset: 0x003355AF
		public virtual TObjectNameList LinkedColumns
		{
			get
			{
				if (this.linkedColumns == null)
				{
					this.linkedColumns = new TObjectNameList();
					this.linkedColumns.ObjectType = 1;
				}
				return this.linkedColumns;
			}
			set
			{
				this.linkedColumns = value;
			}
		}

		// Token: 0x1700077E RID: 1918
		// (get) Token: 0x0600236E RID: 9070 RVA: 0x003373B8 File Offset: 0x003355B8
		public virtual string FullNameWithAliasString
		{
			get
			{
				if (this.AliasClause != null)
				{
					return this.FullName + " " + this.AliasClause.ToString();
				}
				return this.FullName;
			}
		}

		// Token: 0x1700077F RID: 1919
		// (get) Token: 0x0600236F RID: 9071 RVA: 0x003373E4 File Offset: 0x003355E4
		public virtual string FullName
		{
			get
			{
				if (this._tableName == null)
				{
					return null;
				}
				return this._tableName.ToString();
			}
		}

		// Token: 0x17000780 RID: 1920
		// (get) Token: 0x06002371 RID: 9073 RVA: 0x00337404 File Offset: 0x00335604
		// (set) Token: 0x06002370 RID: 9072 RVA: 0x003373FB File Offset: 0x003355FB
		public virtual TPivotClause PivotClause
		{
			get
			{
				return this.pivotClause;
			}
			set
			{
				this.pivotClause = value;
			}
		}

		// Token: 0x17000781 RID: 1921
		// (get) Token: 0x06002373 RID: 9075 RVA: 0x00337415 File Offset: 0x00335615
		// (set) Token: 0x06002372 RID: 9074 RVA: 0x0033740C File Offset: 0x0033560C
		public virtual TDataChangeTable DatachangeTable
		{
			get
			{
				return this.datachangeTable;
			}
			set
			{
				this.datachangeTable = value;
			}
		}

		// Token: 0x06002374 RID: 9076 RVA: 0x00337420 File Offset: 0x00335620
		public virtual bool isTableRefBelongToThisTable(TTableReference tableref)
		{
			bool flag = this._tableName == tableref.objectname;
			if (flag)
			{
				return flag;
			}
			if (this._tableName.ObjectString.Equals(tableref.objectname.ObjectString, StringComparison.CurrentCultureIgnoreCase))
			{
				flag = (this._tableName.SchemaString == null || tableref.objectname.SchemaString == null || this._tableName.SchemaString.Equals(tableref.objectname.SchemaString, StringComparison.CurrentCultureIgnoreCase));
			}
			return flag;
		}

		// Token: 0x06002375 RID: 9077 RVA: 0x0033749B File Offset: 0x0033569B
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06002376 RID: 9078 RVA: 0x003374AC File Offset: 0x003356AC
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			switch (this.TableType)
			{
			case ETableSource.objectname:
				this.TableName.acceptChildren(v);
				if (this.Flashback != null)
				{
					this.Flashback.acceptChildren(v);
				}
				break;
			case ETableSource.subquery:
				this.Subquery.acceptChildren(v);
				break;
			case ETableSource.tableExpr:
				this.TableExpr.acceptChildren(v);
				break;
			case ETableSource.function:
				this.FuncCall.acceptChildren(v);
				break;
			case ETableSource.rowList:
				this.RowList.acceptChildren(v);
				break;
			case ETableSource.containsTable:
				this.ContainsTable.acceptChildren(v);
				break;
			case ETableSource.openrowset:
				this.OpenRowSet.acceptChildren(v);
				break;
			case ETableSource.openxml:
				this.OpenXML.acceptChildren(v);
				break;
			case ETableSource.opendatasource:
				this.OpenDatasource.acceptChildren(v);
				break;
			case ETableSource.openquery:
				this.Openquery.acceptChildren(v);
				break;
			case ETableSource.datachangeTable:
				this.DatachangeTable.acceptChildren(v);
				break;
			case ETableSource.xmltable:
				this.XmlTable.acceptChildren(v);
				break;
			case ETableSource.informixOuter:
				this.OuterClause.acceptChildren(v);
				break;
			case ETableSource.table_ref_list:
				this.FromTableList.acceptChildren(v);
				break;
			case ETableSource.hiveFromQuery:
				this.HiveFromQuery.acceptChildren(v);
				break;
			case ETableSource.pivoted_table:
				this.PivotedTable.acceptChildren(v);
				break;
			}
			if (this.PxGranule != null)
			{
				this.PxGranule.acceptChildren(v);
			}
			if (this.TableSample != null)
			{
				this.TableSample.acceptChildren(v);
			}
			if (this.AliasClause != null)
			{
				this.AliasClause.acceptChildren(v);
			}
			if (this.TableHintList != null)
			{
				for (int i = 0; i < this.TableHintList.Count; i++)
				{
					this.TableHintList[i].acceptChildren(v);
				}
			}
			v.postVisit(this);
		}

		// Token: 0x17000782 RID: 1922
		// (get) Token: 0x06002378 RID: 9080 RVA: 0x003376A3 File Offset: 0x003358A3
		// (set) Token: 0x06002377 RID: 9079 RVA: 0x0033769A File Offset: 0x0033589A
		public virtual TTableReferenceList Tablerefs
		{
			get
			{
				return this._tablerefs;
			}
			set
			{
				this._tablerefs = value;
			}
		}

		// Token: 0x04001B9F RID: 7071
		private List<TIndexHint> _indexHintList;

		// Token: 0x04001BA0 RID: 7072
		private TPxGranule pxGranule;

		// Token: 0x04001BA1 RID: 7073
		private TFlashback flashback;

		// Token: 0x04001BA2 RID: 7074
		private int parenthesisCount;

		// Token: 0x04001BA3 RID: 7075
		private int parenthesisAfterAliasCount;

		// Token: 0x04001BA4 RID: 7076
		private bool _tableKeyword;

		// Token: 0x04001BA5 RID: 7077
		private bool _onlyKeyword;

		// Token: 0x04001BA6 RID: 7078
		private bool _lateralKeyword;

		// Token: 0x04001BA7 RID: 7079
		private TMergeSqlStatement outputMerge;

		// Token: 0x04001BA8 RID: 7080
		private TPivotedTable pivotedTable;

		// Token: 0x04001BA9 RID: 7081
		private ETableEffectType effectType;

		// Token: 0x04001BAA RID: 7082
		private TTable linkTable;

		// Token: 0x04001BAB RID: 7083
		private bool isLinkTable_Renamed;

		// Token: 0x04001BAC RID: 7084
		private List<THiveKeyValueProperty> tableProperties;

		// Token: 0x04001BAD RID: 7085
		private List<THiveLateralView> lateralViewList;

		// Token: 0x04001BAE RID: 7086
		private TTableSample tableSample;

		// Token: 0x04001BAF RID: 7087
		private TPartitionExtensionClause partitionExtensionClause;

		// Token: 0x04001BB0 RID: 7088
		private TInformixOuterClause outerClause;

		// Token: 0x04001BB1 RID: 7089
		private TXmlTable xmlTable;

		// Token: 0x04001BB2 RID: 7090
		private TFromTableList fromTableList;

		// Token: 0x04001BB3 RID: 7091
		private TJsonTable _jsonTable;

		// Token: 0x04001BB4 RID: 7092
		private TOpenQuery openquery;

		// Token: 0x04001BB5 RID: 7093
		private List<TTableHint> tableHintList;

		// Token: 0x04001BB6 RID: 7094
		private TOpenDatasource openDatasource;

		// Token: 0x04001BB7 RID: 7095
		private TOpenXML openXML;

		// Token: 0x04001BB8 RID: 7096
		private TOpenRowSet openRowSet;

		// Token: 0x04001BB9 RID: 7097
		private TContainsTable containsTable;

		// Token: 0x04001BBA RID: 7098
		private TFunctionCall funcCall;

		// Token: 0x04001BBB RID: 7099
		private TMultiTargetList rowList;

		// Token: 0x04001BBC RID: 7100
		private TObjectNameList cteColomnReferences;

		// Token: 0x04001BBD RID: 7101
		private TCTE CTE_Renamed;

		// Token: 0x04001BBE RID: 7102
		private bool isCTEName;

		// Token: 0x04001BBF RID: 7103
		private TSelectSqlStatement _subquery;

		// Token: 0x04001BC0 RID: 7104
		private THiveFromQuery hiveFromQuery;

		// Token: 0x04001BC1 RID: 7105
		private TExpression tableExpr;

		// Token: 0x04001BC2 RID: 7106
		private ETableSource tableType;

		// Token: 0x04001BC3 RID: 7107
		private TObjectName _tableName;

		// Token: 0x04001BC4 RID: 7108
		private TObjectNameList linkedColumns;

		// Token: 0x04001BC5 RID: 7109
		private TPivotClause pivotClause;

		// Token: 0x04001BC6 RID: 7110
		private TObjectNameList objectNameReferences;

		// Token: 0x04001BC7 RID: 7111
		private TTableReferenceList _tablerefs = new TTableReferenceList();

		// Token: 0x04001BC8 RID: 7112
		private TDataChangeTable datachangeTable;
	}
}
